<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
                      "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
    <meta http-equiv="content-type" content="text/html; charset=UTF-8"/>
    <title>Op&ccedil;&otilde;es de Configura&ccedil;&atilde;o Zend_Layout - Zend Framework Manual</title>

    <link href="../css/shCore.css" rel="stylesheet" type="text/css" />
    <link href="../css/shThemeDefault.css" rel="stylesheet" type="text/css" />
    <link href="../css/styles.css" media="all" rel="stylesheet" type="text/css" />
</head>
<body>
<h1>Zend Framework</h1>
<h2>Programmer's Reference Guide</h2>
<ul>
    <li><a href="../en/zend.layout.options.html">Inglês (English)</a></li>
    <li><a href="../pt-br/zend.layout.options.html">Português Brasileiro (Brazilian Portuguese)</a></li>
</ul>
<table width="100%">
    <tr valign="top">
        <td width="85%">
            <table width="100%">
                <tr>
                    <td width="25%" style="text-align: left;">
                    <a href="zend.layout.quickstart.html">Guia R&aacute;pido Zend_Layout</a>
                    </td>

                    <td width="50%" style="text-align: center;">
                        <div class="up"><span class="up"><a href="zend.layout.html">Zend_Layout</a></span><br />
                        <span class="home"><a href="manual.html">Guia de Refer&ecirc;ncia do Programador</a></span></div>
                    </td>

                    <td width="25%" style="text-align: right;">
                        <div class="next" style="text-align: right; float: right;"><a href="zend.layout.advanced.html">Uso Avan&ccedil;ado de Zend_Layout</a></div>
                    </td>
                </tr>
            </table>
<hr />
<div id="zend.layout.options" class="section"><div class="info"><h1 class="title">Opções de Configuração Zend_Layout</h1></div>
    

    <p class="para">
        <span class="classname">Zend_Layout</span> tem uma variedade de opções de configuração. Essas
        podem ser configuradas chamando os acessores apropriados, passando uma matriz ou objeto
        <span class="classname">Zend_Config</span> para o construtor ou
         <span class="methodname">startMvc()</span>, passando uma matriz de opções para
         <span class="methodname">setOptions()</span>, ou passando um objeto
        <span class="classname">Zend_Config</span> para  <span class="methodname">setConfig()</span>.
    </p>

    <ul class="itemizedlist">
        <li class="listitem">
            <p class="para">
                <em class="emphasis">layout</em>: o layout a ser usado. Utiliza o inflector atual para
                resolver o nome fornecido para o view script de layout apropriado. Por padrão,
                esse valor é &#039;layout&#039; e resolve para &#039;layout.phtml&#039;. Os acessores são
                 <span class="methodname">setLayout()</span> e  <span class="methodname">getLayout()</span>.
            </p>
        </li>

        <li class="listitem">
            <p class="para">
                <em class="emphasis">layoutPath</em>: o caminho base para os view scripts
                de layout. Os acessores são  <span class="methodname">setLayoutPath()</span> e
                 <span class="methodname">getLayoutPath()</span>.
            </p>
        </li>

        <li class="listitem">
            <p class="para">
                <em class="emphasis">contentKey</em>: a variável de layout usada para o conteúdo
                padrão (quando usado com o <acronym class="acronym">MVC</acronym>). O valor padrão é &#039;content&#039;.
                Os acessores são  <span class="methodname">setContentKey()</span> e
                 <span class="methodname">getContentKey()</span>.
            </p>
        </li>

        <li class="listitem">
            <p class="para">
                <em class="emphasis">mvcSuccessfulActionOnly</em>: quando usar o
                <acronym class="acronym">MVC</acronym>, se uma ação lança uma exceção e esse marco
                é <b><tt>TRUE</tt></b>, o layout não será renderizado (isso é para
                prevenir dupla renderização do layout quando o <a href="zend.controller.plugins.html#zend.controller.plugins.standard.errorhandler" class="link">ErrorHandler plugin</a>
                estiver em uso). Por padrão, o marco é <b><tt>TRUE</tt></b>. Os acessores são
                 <span class="methodname">setMvcSuccessfulActionOnly()</span> e
                 <span class="methodname">getMvcSuccessfulActionOnly()</span>.
            </p>
        </li>

        <li class="listitem">
            <p class="para">
                <em class="emphasis">view</em>: O objeto view para ser usado na renderização.
                Quando usado com o <acronym class="acronym">MVC</acronym>, <span class="classname">Zend_Layout</span>
                tentará usar o objeto view registrado com o
                <a href="zend.controller.actionhelpers.html#zend.controller.actionhelpers.viewrenderer" class="link">ViewRenderer</a>
                se nenhum objeto view tiver sido passado explicitamente. Os acessores são
                 <span class="methodname">setView()</span> e  <span class="methodname">getView()</span>.
            </p>
        </li>

        <li class="listitem">
            <p class="para">
                <em class="emphasis">helperClass</em>: a classe action helper para usar quando
                <span class="classname">Zend_Layout</span> estiver utilizando os componentes
                <acronym class="acronym">MVC</acronym>. Por padrão, ela é
                <span class="classname">Zend_Layout_Controller_Action_Helper_Layout</span>.
                Os acessores são  <span class="methodname">setHelperClass()</span> e
                 <span class="methodname">getHelperClass()</span>.
            </p>
        </li>

        <li class="listitem">
            <p class="para">
                <em class="emphasis">pluginClass</em>: a classe front controller plugin para usar
                quando <span class="classname">Zend_Layout</span> estiver utilizando os componentes
                <acronym class="acronym">MVC</acronym>. Por padrão, ela é
                <span class="classname">Zend_Layout_Controller_Plugin_Layout</span>. Os acessores são
                 <span class="methodname">setPluginClass()</span> e
                 <span class="methodname">getPluginClass()</span>.
            </p>
        </li>

        <li class="listitem">
            <p class="para">
                <em class="emphasis">inflector</em>: o inflector a ser usado quando resolver
                nomes para caminhos de view scripts de layout; veja
                <a href="zend.layout.advanced.html#zend.layout.advanced.inflector" class="link">a documentação
                <span class="classname">Zend_Layout</span> inflector para mais detalhes</a>. Os
                acessores são  <span class="methodname">setInflector()</span> e
                 <span class="methodname">getInflector()</span>.
            </p>
        </li>
    </ul>

    <blockquote class="note"><p><b class="note">Note</b>: <span class="info"><b>helperClass e pluginClass devem ser passados para startMvc()</b><br /></span>
        

        <p class="para">
            Para que as configurações <span class="property">helperClass</span> e
            <span class="property">pluginClass</span> tenham efeito, elas devem ser passadas como opções para
             <span class="methodname">startMvc()</span>; se forem configuradas mais tarde,
            elas não tem efeito.
        </p>
    </p></blockquote>

    <div class="section" id="zend.layout.options.examples"><div class="info"><h1 class="title">Exemplos</h1></div>
        

        <p class="para">
            Os seguintes exemplos assumem a seguinte matriz <var class="varname">$options</var>
            e objeto <var class="varname">$config</var>:
        </p>

        <pre class="programlisting brush: php">
$options = array(
    &#039;layout&#039;     =&gt; &#039;foo&#039;,
    &#039;layoutPath&#039; =&gt; &#039;/path/to/layouts&#039;,
    &#039;contentKey&#039; =&gt; &#039;CONTENT&#039;,           // ignorado quando o MVC não é usado
);
</pre>


        <pre class="programlisting brush: php">
/**
[layout]
layout = &quot;foo&quot;
layoutPath = &quot;/path/to/layouts&quot;
contentKey = &quot;CONTENT&quot;
*/
$config = new Zend_Config_Ini(&#039;/path/to/layout.ini&#039;, &#039;layout&#039;);
</pre>


        <div class="example" id="zend.layout.options.examples.constructor"><div class="info"><p><b>Example #1 Passando opções para o construtor ou startMvc()</b></p></div>
            

            <div class="example-contents"><p>
                Tanto o construtor quanto o método estático  <span class="methodname">startMvc()</span>
                podem aceitar tanto uma matriz de opções quanto um objeto
                <span class="classname">Zend_Config</span> com opções de modo a configurar
                a instância de <span class="classname">Zend_Layout</span>.
            </p></div>

            <div class="example-contents"><p>Primeiro, dê uma olhada na passagem de uma matriz:</p></div>

            <pre class="programlisting brush: php">
// Usando um construtor:
$layout = new Zend_Layout($options);

// Usando startMvc():
$layout = Zend_Layout::startMvc($options);
</pre>


            <div class="example-contents"><p>E agora usando um objeto config:</p></div>

            <pre class="programlisting brush: php">
$config = new Zend_Config_Ini(&#039;/path/to/layout.ini&#039;, &#039;layout&#039;);

// Usando construtor:
$layout = new Zend_Layout($config);

// Usando startMvc():
$layout = Zend_Layout::startMvc($config);
</pre>


            <div class="example-contents"><p>
                Basicamente, esse é o modo mais fácil de customizar sua instância
                <span class="classname">Zend_Layout</span>.
            </p></div>
        </div>

        <div class="example" id="zend.layout.options.examples.setoptionsconfig"><div class="info"><p><b>Example #2 Usando setOption() e setConfig()</b></p></div>
            

            <div class="example-contents"><p>
                Algumas vezes você precisa configurar o objeto <span class="classname">Zend_Layout</span>
                depois que ele já foi instanciado;  <span class="methodname">setOptions()</span> e
                 <span class="methodname">setConfig()</span> dão a você um modo fácil
                e rápido de fazer isso:
            </p></div>

            <pre class="programlisting brush: php">
// Usando uma matriz de opções:
$layout-&gt;setOptions($options);

// Usando um objeto Zend_Config:
$layout-&gt;setConfig($options);
</pre>


            <div class="example-contents"><p>
                Note, entretanto, que certas opções, tais como <span class="property">pluginClass</span> e
                <span class="property">helperClass</span>, não serão afetadas quando a passagem for feita
                por esse método; elas precisam ser passadas ao construtor ou método
                 <span class="methodname">startMvc()</span>.
            </p></div>
        </div>

        <div class="example" id="zend.layout.options.examples.accessors"><div class="info"><p><b>Example #3 Usando Acessores</b></p></div>
            

            <div class="example-contents"><p>
                Finalmente, você pode também configurar sua instância
                <span class="classname">Zend_Layout</span> via acessores. Todos os acessores
                implementam uma interface fluente, significando que suas chamadas
                podem ser encadeadas:
            </p></div>

            <pre class="programlisting brush: php">
$layout-&gt;setLayout(&#039;foo&#039;)
       -&gt;setLayoutPath(&#039;/path/to/layouts&#039;)
       -&gt;setContentKey(&#039;CONTENT&#039;);
</pre>

        </div>
    </div>
</div>
        <hr />

            <table width="100%">
                <tr>
                    <td width="25%" style="text-align: left;">
                    <a href="zend.layout.quickstart.html">Guia R&aacute;pido Zend_Layout</a>
                    </td>

                    <td width="50%" style="text-align: center;">
                        <div class="up"><span class="up"><a href="zend.layout.html">Zend_Layout</a></span><br />
                        <span class="home"><a href="manual.html">Guia de Refer&ecirc;ncia do Programador</a></span></div>
                    </td>

                    <td width="25%" style="text-align: right;">
                        <div class="next" style="text-align: right; float: right;"><a href="zend.layout.advanced.html">Uso Avan&ccedil;ado de Zend_Layout</a></div>
                    </td>
                </tr>
            </table>
</td>
        <td style="font-size: smaller;" width="15%"> <style type="text/css">
#leftbar {
	float: left;
	width: 186px;
	padding: 5px;
	font-size: smaller;
}
ul.toc {
	margin: 0px 5px 5px 5px;
	padding: 0px;
}
ul.toc li {
	font-size: 85%;
	margin: 1px 0 1px 1px;
	padding: 1px 0 1px 11px;
	list-style-type: none;
	background-repeat: no-repeat;
	background-position: center left;
}
ul.toc li.header {
	font-size: 115%;
	padding: 5px 0px 5px 11px;
	border-bottom: 1px solid #cccccc;
	margin-bottom: 5px;
}
ul.toc li.active {
	font-weight: bold;
}
ul.toc li a {
	text-decoration: none;
}
ul.toc li a:hover {
	text-decoration: underline;
}
</style>
 <ul class="toc">
  <li class="header home"><a href="manual.html">Guia de Refer&ecirc;ncia do Programador</a></li>
  <li class="header up"><a href="manual.html">Guia de Refer&ecirc;ncia do Programador</a></li>
  <li class="header up"><a href="reference.html">Refer&ecirc;ncia do Zend Framework</a></li>
  <li class="header up"><a href="zend.layout.html">Zend_Layout</a></li>
  <li><a href="zend.layout.introduction.html">Introdu&ccedil;&atilde;o</a></li>
  <li><a href="zend.layout.quickstart.html">Guia R&aacute;pido Zend_Layout</a></li>
  <li class="active"><a href="zend.layout.options.html">Op&ccedil;&otilde;es de Configura&ccedil;&atilde;o Zend_Layout</a></li>
  <li><a href="zend.layout.advanced.html">Uso Avan&ccedil;ado de Zend_Layout</a></li>
 </ul>
 </td>
    </tr>
</table>

<script type="text/javascript" src="../js/shCore.js"></script>
<script type="text/javascript" src="../js/shAutoloader.js"></script>
<script type="text/javascript" src="../js/main.js"></script>

</body>
</html>